<!doctype html>
<html>
 <head>
  <title>window.onerror - runtime error in setTimeout</title>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
 </head>
 <body>
  <div id=log></div>
  <script>
    setup({allow_uncaught_exception:true});
    var t = async_test();
    var t_col = async_test(document.title+' (column)');
    var ran = false;
    var col_value;
    window.onerror = t.step_func(function(a, b, c, d){
        ran = true;
        col_value = d;
        assert_equals(typeof a, 'string', 'first arg');
        assert_equals(b, location.href, 'second arg');
        assert_equals(typeof c, 'number', 'third arg');
    });
    setTimeout("undefined_variable;", 10);
    setTimeout(function(){
        t.step(function(){
            assert_true(ran, 'ran');
            t.done();
        });
        t_col.step(function(){
            assert_equals(typeof col_value, 'number', 'fourth arg');
            t_col.done();
        });
    }, 20);
  </script>
 </body>
</html>
